Memristive devices, for example memristors, are devices that can be programmed to different states by applying a programming stimulus, for example a voltage pulse or a current pulse. After programming, the state of the memristive device may be read. The state of the memristive device remains stable long enough to regard the device as non-volatile. A number of memristive devices may be included within a crossbar array in which a number of interconnect lines intersect one another to form a grid, the memristive device being located at the intersection of corresponding interconnect lines. These arrays can provide high storage density. Memristor devices can be used in a variety of applications, including non-volatile solid state memory, programmable logic, signal processing, control systems, pattern recognition, and other applications.
Throughout the drawings, identical reference numbers designate similar, but not necessarily identical, elements.